Incremental Analysis of Logic Programs
نویسندگان
چکیده
Global analyzers traditionally read and analyze the entire program at once, in a non-incremental way. However, there are many situations which are not well suited to this simple model and which instead require reanalysis of certain parts of a program which has already been analyzed. In these cases, it appears ineecient to perform the analysis of the program again from scratch, as needs to be done with current systems. We describe how the xpoint algorithms in current generic analysis engines can be extended to support incremental analysis. The possible changes to a program are classiied into three types: addition, deletion, and arbitrary change. For each one of these, we provide one or more algorithms for identifying the parts of the analysis that must be recomputed and for performing the actual recompu-tation. The potential beneets and drawbacks of these algorithms are discussed. Finally, we present some experimental results obtained with an implementation of the algorithms in the PLAI generic abstract interpretation framework. The results show signiicant beneets when using the proposed incremental analysis algorithms.
منابع مشابه
Optimized Algorithms for Incremental Analysis of Logic Programs
Abs t r ac t . Global analysis of logic programs can be performed effectively by the use of one of several existing efficient algorithms. However, the traditional global analysis scheme in which all the program code is known in advance and no previous analysis information is available is unsatisfactory in many situations. Incrementa! analysis of logic programs has been shown to be feasible and ...
متن کاملIncremental Evaluation of Tabled Prolog: Beyond Pure Logic Programs
Tabling, or memoization, enables incremental evaluation of logic programs. When the rules or facts of a program change, we need to recompute only those results that are affected by the changes. The current algorithms for incrementally maintaining memo tables treat insertion of facts/rules differently from their deletion. Hence these techniques cannot be directly applied for incremental evaluati...
متن کاملDissertation : Incremental Maintenance of Recursive Views with Applications to Tabled Logic Programming
Vulnerability analysis using dynamic attack graphs, dynamic binary analysis for mobile code security, incre-mental bisimulation algorithm. Development of algorithms for incremental evaluation of tabled logic programs and its application to program analysis, generation and analysis of multiple counterexamples for error cause localization, model checking security-relevant properties of sequential...
متن کاملSymbolic Support Graph: A Space Efficient Data Structure for Incremental Tabled Evaluation
In an earlier paper, we described a data structure, called support graph, for efficient incremental evaluation of tabled logic programs. The support graph records the dependencies between answers in the tables, and is crucial for efficiently propagating the changes to the tables when facts are deleted. Incremental computation with support graphs are hundreds of times faster than from-scratch ev...
متن کاملIncremental Re nement of Semantic BasedProgram Analysis for Logic
This paper is concerned with the incremental reenement of semantic based program analyses. We address the following question: How can we use the result of a less precise program analysis to accelerate a more precise analysis of the same program. We describe an approach based on abstract program specialisation in which any approximation to the result of a (more reened) program analysis is used t...
متن کاملIncremental Flow Analysis
interpretation is a technique for ow analysis widely used in the area of logic programming. Until now it has been used only for the global compilation of Prolog programs. But the programming language Prolog enables the programmer to change the program during run time using the built-in predicates assert and retract. To support the generation of eecient code for programs using these dynamic data...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995